//
//  NemoDrawingCommand.h
//  NemoSDKDemo
//
//  Created by NemoSDKDemo on 19/5/27.
//  Copyright © 2019 JackYang. All rights reserved.
//

#import <UIKit/UIKit.h>

@protocol NemoDrawingCommand <NSObject>

@property (nonatomic, strong) UIColor *lineColor;
@property (nonatomic, assign) CGFloat lineWidth;
@property (nonatomic, assign) CGFloat aspect;

- (void)setInitialPoint:(CGPoint)firstPoint;
- (BOOL)moveToPoint:(CGPoint)point;
- (void)moveEnd;
- (void)draw;

@end

#pragma mark -

@interface DrawingBezierCommand : NSObject<NemoDrawingCommand>
{
    BOOL _isFinished;
}

@property (nonatomic, assign) int sequenceId;
@property (nonatomic, readonly) BOOL finished;
@property (nonatomic, assign) BOOL isSaveOnly;

- (id)initWithSequeceId:(int)seqId;

- (void)draw;

- (void)redraw;

- (NSArray *)getTrackPoints;

@end

#pragma mark -

@interface DrawingPointerCommand : NSObject<NemoDrawingCommand>
{
    CGPoint position;
}

@end

#pragma mark -

@interface DrawingLineCommand : NSObject<NemoDrawingCommand>
{
    CGPoint firstPoint;
    CGPoint lastPoint;
}

@end

#pragma mark -

@interface DrawingRectangleCommand : NSObject<NemoDrawingCommand>
{
    CGPoint firstPoint;
    CGPoint lastPoint;
    BOOL fill;
}

@end

#pragma mark -

@interface DrawingEllipseCommand : NSObject<NemoDrawingCommand>
{
    CGPoint firstPoint;
    CGPoint lastPoint;
    BOOL fill;
}

@end




